Display control apparatus and control method thereof

ABSTRACT

There is provided a display control apparatus comprising: an input unit configured to designate a position on a display screen; a display control unit configured to control to identifiably display a set region set on the display screen; and a control unit configured to control to, when a trajectory of the designated position after a start of designating the position by the input unit does not satisfy a predetermined condition while the set region is set on the display screen, change a portion occupied by the set region on the display screen in accordance with the trajectory, and when the trajectory satisfies the predetermined condition, set a new set region different from the set region on the display screen in accordance with the trajectory.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a display control apparatus and controlmethod thereof.

2. Description of the Related Art

Some display control apparatus for a personal computer (PC) and the likecan set a region on the display screen of the display in accordance withan instruction from an input device such as a pointing device (PD). Theset region is used as a processing target subjected to subsequentprocessing. For example, when a region containing part of an image to beedited is set while the PC executes an image editing application, animage within the region undergoes image processing such as trimmingprocessing.

The region is set by a manipulation of, for example, selecting a startpoint on the display screen by the user of the display control apparatuswith the PD, and moving the pointer from the start point to the endpoint. In this case, the set region is, for example, a rectangle whosediagonal is defined by the start and end points.

After setting the region, the user may sometimes wants to performadjustments such as enlargement, reduction, and movement of a region. Asa technique regarding a PD manipulation for these adjustments, there isknown Japanese Patent Laid-Open No. 6-103013 that discloses a techniqueconcerning enlargement, reduction, and movement of a window. In JapanesePatent Laid-Open No. 6-103013, enlargement of a window or the like isexecuted by, for example, moving the pointer to contact or cross theboundary of the window. This facilitates the manipulation because theuser need not position the pointer to the narrow region of the boundarysuch as the frame or corner of the window.

In another case, the user may want to delete a set region and set a newregion, instead of executing the foregoing adjustment. However, when thetechnique in Japanese Patent Laid-Open No. 6-103013 is adopted, even ifthe user designates a position other than a set region with the PD, theset region is adjusted. Hence, before performing the manipulation forsetting a region, the user needs to execute any additional manipulation(for example, a manipulation of selecting a set region and pressing aregion delete button displayed on the display screen). This additionalmanipulation increases the manipulation burden on the user.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the abovesituation, and reduces, with good balance, a manipulation burden foradjusting a region set on the display screen, and a manipulation burdenfor setting a new region.

According to an aspect of the present invention, there is provided adisplay control apparatus comprising: an input unit configured todesignate a position on a display screen; a display control unitconfigured to control to identifiably display a set region set on thedisplay screen; and a control unit configured to control to, when atrajectory of the designated position after a start of designating theposition by the input unit does not satisfy a predetermined conditionwhile the set region is set on the display screen, change a portionoccupied by the set region on the display screen in accordance with thetrajectory, and when the trajectory satisfies the predeterminedcondition, set a new set region different from the set region on thedisplay screen in accordance with the trajectory.

According to another aspect of the present invention, there is provideda method of controlling a display control apparatus having an input unitconfigured to designate a position on a display screen, the methodcomprising: a display control step of controlling to identifiablydisplay a set region set on the display screen; and a control step ofcontrolling to, when a trajectory of the designated position after astart of designating the position by the input unit does not satisfy apredetermined condition while the set region is set on the displayscreen, change a portion occupied by the set region on the displayscreen in accordance with the trajectory, and when the trajectorysatisfies the predetermined condition, set a new set region differentfrom the set region on the display screen in accordance with thetrajectory.

With the above arrangement, the present invention can reduce, with goodbalance, a manipulation burden for adjusting a region set on the displayscreen, and a manipulation burden for setting a new region.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram exemplifying the arrangement of a personalcomputer (PC) 100 according to the first embodiment;

FIG. 2 is a flowchart showing the sequence of region setting processingand region adjustment processing according to the first embodiment;

FIGS. 3A to 3D are schematic views of region adjustment processing andfunction switching determination processing;

FIG. 4 is a flowchart showing an example of function switchingdetermination processing in step S208 of FIG. 2;

FIG. 5 is a flowchart showing another example of function switchingdetermination processing in step S208 of FIG. 2;

FIG. 6 is a flowchart showing still another example of functionswitching determination processing in step S208 of FIG. 2; and

FIG. 7 is a view showing another example of a method of determining aside to be adjusted in step S205 of FIG. 2.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will now be described withreference to attached drawings. It should be noted that the technicalscope of the present invention is defined by claims, and is not limitedby each embodiment described below. In addition, not all combinations ofthe features described in the embodiments are necessarily required forrealizing the present invention.

Hereinafter, an embodiment in which a display control apparatusaccording to the present invention is applied to a personal computer(PC) will be described. In the following embodiment, the PC uses a touchpanel as a pointing device (PD). However, the PD is not limited to this,and the PC may use a mouse or the like.

[First Embodiment]

FIG. 1 is a block diagram exemplifying the arrangement of a PC 100according to the first embodiment. In FIG. 1, a CPU 101, hard disk (HD)102, memory 103, display control unit 104, and input unit 105 areconnected to an internal bus 111. A drive device 106 and communicationinterface (I/F) 107 are also connected to the internal bus 111. Therespective units connected to the internal bus 111 are configured to beable to exchange data via the internal bus 111.

The HD 102 stores image data, other data, various programs for operatingthe CPU 101, and the like. The memory 103 includes, for example, a RAM.The CPU 101 controls each unit of the PC 100 using the memory 103 as awork memory in accordance with, for example, a program stored in the HD102. Note that the program for operating the CPU 101 is not limited toone stored in the HD 102, and may be stored in advance in, for example,a ROM (not shown).

The input unit 105 accepts a user manipulation, generates a controlsignal corresponding to the manipulation, and supplies it to the CPU101. For example, as input devices for accepting a user manipulation,the input unit 105 includes a text information input device such as akeyboard, and a pointing device such as a mouse or touch panel. Notethat the touch panel is an input device which outputs coordinateinformation corresponding to a position where the user touches, forexample, a flat input unit. The CPU 101 controls each unit of the PC 100according to a program, based on a control signal which is generated andsupplied by the input unit 105 in accordance with a user manipulation tothe input device. The CPU 101 can, therefore, control the PC 100 toperform an operation complying with the user manipulation.

The display control unit 104 outputs a display signal to display animage on the display screen of a display 110 (display device). Forexample, the CPU 101 supplies, to the display control unit 104, adisplay control signal generated according to a program. Based on thedisplay control signal, the display control unit 104 generates a displaysignal and outputs it to the display 110. For example, based on thedisplay control signal generated by the CPU 101, the display controlunit 104 controls the display 110 to display a GUI screen which forms aGUI (Graphical User Interface).

Note that the touch panel of the input unit 105 can be integrated withthe display 110. For example, a touch panel configured not to interferewith display on the display 110 owing to the light transmittance isattached to the upper layer of the display surface of the display 110.Then, an input coordinate point on the touch panel is made to correspondto a display coordinate on the display 110. Accordingly, a GUI withwhich the user manipulates a screen displayed on the display 110 as ifhe could directly manipulate it can be configured.

The drive device 106 allows mounting an external storage medium 108 suchas a CD or DVD. Under the control of the CPU 101, the drive device 106performs readout of data from the mounted external storage medium 108,write of data on the external storage medium 108, and the like. Notethat the external storage medium 108 mountable in the drive device 106is not limited to a disk storage medium such as a CD or DVD. Anonvolatile semiconductor memory such as a memory card may be mounted inthe drive device 106. The communication I/F 107 communicates with anetwork 120 such as a LAN or the Internet under the control of the CPU101.

The CPU 101 (selection control means) can detect the followingmanipulations (instructions) to the touch panel: touching the touchpanel with a finger or pen (called Touch Down), keeping touching thetouch panel with a finger or pen (called Touch On), moving a finger orpen on the touch panel while touching the touch panel with it (calledMove), removing, from the touch panel, a finger or pen which has touchedthe touch panel (called Touch Up), and not touching the touch panel(called Touch Off). In these manipulations, the CPU 101 is notified viathe internal bus 111 of the coordinate point of a position where thefinger or pen touches the touch panel. Based on the notifiedinformation, the CPU 101 determines a manipulation which has beenperformed on the touch panel. As for Move, even the moving direction ofa finger or pen which moves on the touch panel can be determined foreach of vertical and horizontal components on the touch panel, based ona change of the coordinate point of the position. It is assumed that thefinger or pen draws a stroke, if the finger or pen touches up after ittouches down on the touch panel and moves by a predetermined distance. Amanipulation of quickly drawing a stroke will be called Flick. Flick isa manipulation of quickly moving a finger by only a predetermineddistance while keeping touching the touch panel, and then removing it.In other words, Flick is a manipulation of quickly touching the touchpanel as if the finger flicked it. If Move by a predetermined distanceor more at a predetermined speed or more is detected, and Touch Up isdetected subsequently, it can be determined that Flick was done. WhenMove by the predetermined distance or more at lower than thepredetermined speed is detected, it is determined that Drag was done.

FIG. 2 is a flowchart showing the sequence of region setting processingand region adjustment processing according to the first embodiment. Theregion setting processing is to set a region of a predetermined size onthe display screen. The region setting processing is performed to, forexample, determine a trimming region when trimming an image, render arectangle by graphic software or the like, or set a window forperforming specific work on the display 110. The region adjustmentprocessing is to apply a manipulation such as enlargement, reduction,movement, or rotation to a set region (in other words, a manipulation ofchanging a portion occupied by the region on the display screen).

The CPU 101 implements processing shown in the flowchart of FIG. 2 byexecuting a program stored in the HD 102 using the memory 103 as a workmemory. As will be described with reference to FIG. 2, in the firstembodiment, region adjustment processing is automatically switched toregion setting processing in accordance with the trajectory of Move onthe touch panel. When the user switches the operation mode of the PC 100to the region manipulation mode via the input unit 105, the process ofthe flowchart starts.

In step S201, the CPU 101 determines whether Touch Down to the touchpanel has been done. If no Touch Down has been done, the process waitsfor Touch Down. If Touch Down has been done, the process advances tostep S202.

In step S202, the CPU 101 selects a specific touch position (startposition) on the display screen upon detecting Touch Down. The CPU 101also acquires the coordinate point of the touch position, and stores itas a start coordinate point (X0, Y0) in the memory 103.

In step S203, the CPU 101 sets the start point coordinate X0 as theinitial values of the maximum value Xmax and minimum value Xmin of theX-coordinate on the trajectory of Move. Similarly, the CPU 101 sets thestart point coordinate Y0 as the initial values of the maximum valueYmax and minimum value Ymin of the Y-coordinate on the trajectory ofMove.

In step S204, the CPU 101 determines whether a set region has alreadyexisted on the display screen of the display 110. If a set region hasalready existed, the process advances to step S205 in order to executeregion adjustment processing; if no set region has existed, to step S211in order to execute region setting processing.

In step S205, the CPU 101 determines a side to be adjusted in the setregion, based on the touched-down start coordinate point (X0, Y0). Amethod of determining a side to be adjusted in the set region will beexplained with reference to FIG. 3A. In a display region 301 which isthe entire display screen of the display 110, assume that the X- andY-coordinates are positive in directions shown in FIG. 3A using theupper left corner of the display region 301 as the origin. A set region302 is displayed in the display region 301. In this case, diagonals 303and 304 of the set region 302 divide the display region 301 into fourregions 1 to 4 shown in FIG. 3A. The CPU 101 determines a side to beadjusted in the set region 302 depending on which of regions 1 to 4contains the start coordinate point (X0, Y0) acquired in step S202(positional relationship between the set region 302 and the touchposition). When region 1 contains the start coordinate point (X0, Y0),the upper side of the set region 302 is determined as a side to beadjusted. When region 2 contains the start coordinate point (X0, Y0),the right side of the set region 302 is determined as a side to beadjusted. When region 3 contains the start coordinate point (X0, Y0),the lower side of the set region 302 is determined as a side to beadjusted. When region 4 contains the start coordinate point (X0, Y0),the left side of the set region 302 is determined as a side to beadjusted. In this way, the user can designate a side to be adjusted, bytouching one of the four divided regions of the display region 301without directly touching the position of the side of the set region302. Therefore, even when, for example, the display screen of thedisplay 110 is small, the user can quickly, reliably designate a side tobe adjusted by a rough manipulation.

In step S206, the CPU 101 determines whether Move has been detected. IfMove has been detected, the process advances to step S207; if no Movehas been detected, to step S210.

In step S207, the CPU 101 adjusts, in accordance with movement of thetouch position in Move (movement of the selected position), the side tobe adjusted in the set region 302 that has been determined in step S205.For example, when region 3 contains a start coordinate point 305, thelower side of the set region 302 is adjusted in accordance with Move, asshown in FIG. 3B. In Move, the side position is adjusted depending onthe moving amount of a component (Y component) perpendicular to the side(lower side) to be adjusted. For example, if the user moves the touchposition from the start coordinate point 305 to an upper coordinatepoint 306, the lower side (broken-line portion) of the original setregion 302 moves up, like an adjusted set region 302′ (solid-lineportion), as shown in FIG. 3B. Along with the movement of the lowerside, the lengths of the left and right sides adjacent to the lower sideare also adjusted.

The following three patterns are conceivable regarding setting of theadjustment amount of the side position with respect to the moving amountof a component perpendicular to the side to be adjusted out of themoving amounts of a selected position. When the adjustment amount(moving amount) of the side position is set equal to the moving amountof a component perpendicular to the side to be adjusted out of themoving amounts of a selected position, this implements an intuitivemanipulation for the user. When the adjustment amount (moving amount) ofthe side position is calculated by multiplying, by a predeterminedmagnification of less than 1, the moving amount of a componentperpendicular to the side to be adjusted out of the moving amounts of aselected position, the moving amount of the side becomes smaller thanMove by the user and the side can be finely adjusted even by a roughuser manipulation. When the adjustment amount (moving amount) of theside position is calculated by multiplying, by a predeterminedmagnification of more than 1, the moving amount of a componentperpendicular to the side to be adjusted out of the moving amounts of aselected position, the moving amount of the side becomes larger thanMove by the user and the side can be greatly adjusted even by a slightuser manipulation.

In step S208, the CPU 101 performs function switching determinationprocessing to determine whether to end the region adjustment processingin progress and switch to region setting processing. The functionswitching determination processing includes canceling the setting of aset region when it is determined to switch the function (or processing).Details of the function switching determination processing will bedescribed later with reference to FIGS. 4 to 6.

In step S209, the CPU 101 determines, based on the result of thefunction switching determination processing in step S208, whether thefunction (processing) has been switched. If the CPU 101 determines thatthe function has not been switched, the process advances to step S210.If the CPU 101 determines that the function has been switched, theprocess advances to step S211.

In step S210, the CPU 101 determines whether Touch Up has been done. Ifthe CPU 101 determines that Touch Up has been done, it cancels theselection of the position (end position) selected at that time, and theprocess returns to step S201. At this time, the CPU 101 clears the startcoordinate point (X0, Y0), the maximum value Xmax and minimum value Xminof the X-coordinate, and the maximum value Ymax and minimum value Yminof the Y-coordinate which are stored in the memory 103. If the CPU 101determines in step S210 that no Touch Up has been done, the processreturns to step S206 to continue region adjustment processingcorresponding to Move.

Region setting processing starting from step S211 is executed when it isdetermined in step S204 that no set region has existed or when it isdetermined in step S208 “to switch to region setting processing”. Instep S211, the CPU 101 determines whether Move has been detected. If theCPU 101 determines that Move has been detected, the process advances tostep S212; if it determines that no Move has been detected, to stepS214.

In step S212, the CPU 101 displays a trajectory line corresponding toMove on the display screen of the display 110. In step S213, if a touchposition (position selected on the display screen) after movement byMove requires update of the maximum value Xmax and minimum value Xmin ofthe X-coordinate and the maximum value Ymax and minimum value Ymin ofthe Y-coordinate in Touch Down, the CPU 101 updates them and stores theupdated values in the memory 103.

In step S214, the CPU 101 determines whether Touch Up has been done. Ifthe CPU 101 determines that Touch Up has been done, the process advancesto step S215; if it determines that no Touch Up has been done, returnsto step S211.

In step S215, the CPU 101 sets a new rectangular region on the displayscreen of the display 110 based on the trajectory of the touch position.More specifically, the CPU 101 displays, on the display 110, a rectanglewhose diagonal has vertices (Xmax, Ymax) and (Xmin, Ymin), and stores,in the memory 103, information which specifies this region. Thisrectangle circumscribes the trajectory of the touch position.Alternatively, a region defined by a rectangle whose diagonal isdetermined by the start and end positions may be set. In Touch Up, forexample, when the moving distance of Move after Touch Down is too shortand only a point or an excessively small rectangle can be set, or whenonly movement parallel to either the X- or Y-axis is done and only astraight line can be set, no region is set.

In step S216, the CPU 101 determines whether an end manipulation hasbeen performed. The end manipulation includes a manipulation of turningoff the PC 100, a manipulation of finalizing a region and executingprocessing for it, and a manipulation of canceling region settingprocessing. If the CPU 101 determines that no end manipulation has beenperformed, the process returns to step S201; if it determines that anend manipulation has been performed, the process of the flowchart ends.

After that, the CPU 101 can execute trimming of an image, enlargement ofan image, setting of a window, and the like using the region set inregion setting processing.

Function switching determination processing in step S208 of FIG. 2 willbe exemplified with reference to FIGS. 4 to 6. FIG. 4 is a flowchartshowing an example of function switching determination processing instep S208 of FIG. 2. In the example of FIG. 4, switching to regionsetting processing occurs when a component parallel to the side to beadjusted becomes larger than a component (that is, a moving trajectorycomponent used in adjustment) perpendicular to the side to be adjustedin the moving trajectory of the current touch position by Move.

In step S401, when the current touch position changed by Move requiresupdate of the maximum value Xmax and minimum value Xmin of theX-coordinate and the maximum value Ymax and minimum value Ymin of theY-coordinate in Touch Down, the CPU 101 stores the updated values in thememory 103.

In step S402, the CPU 101 determines whether at least either of thefollowing relations is established:|Xmax−Xmin|>A  (1)|Ymax−Ymin|>B  (2)where A and B are preset thresholds. The determination in step S402 is adetermination of whether Move has been done by a predetermined distanceor more (that is, the touch position does not substantially standstill). If neither relation (1) nor (2) is established, it is consideredthat the touch position substantially stands still or movement of thetouch position falls within the range of an error caused by shaking ofthe user hand or the like. Thus, the CPU 101 ends the process of theflowchart without switching the function. In contrast, if at leasteither relation (1) or (2) is established, it is considered that thetouch position has substantially been moved, and the process advances tostep S403.

In step S403, the CPU 101 determines whether the side to be adjustedthat has been determined in step S205 of FIG. 2 is the upper or lowerside of the set region 302. If the side to be adjusted is the upper orlower side of the set region 302, the process advances to step S404. Ifthe side to be adjusted is neither the upper nor lower side of the setregion 302 (that is, the side to be adjusted is the right or left side),the process advances to step S405.

In step S404, the CPU 101 (setting control means) determines whether|Xmax−Xmin|>|Ymax−Ymin|  (3)is established. If relation (3) is established, the process advances tostep S406; if it is not established, the process of the flowchart endswithout switching the function. The meaning of relation (3) will beexplained with reference to FIG. 3C. In FIG. 3C, a point 308 indicatesthe current touch position. Relation (3) is used to determine whether acomponent (moving width of the X component) parallel to the side to beadjusted (upper or lower side) becomes larger than a component (movingwidth of the Y component) perpendicular to the side to be adjusted in amoving trajectory 307 of the current touch position by Move. If the userintends to adjust the side to be adjusted, it is considered that hemainly performs vertical Move serving as a component used in adjustment,that is, the Y component, and horizontal Move serving as the X componentfalls within the range of an error and does not exceed the Y component.Hence, when the moving amount of the X component exceeds that of the Ycomponent during adjustment of the side, it is considered that the userdoes not perform a manipulation of adjusting the side, and the functionof adjusting a side switches to the other function, that is, thefunction of setting a new region. In the example of FIG. 3C, the startcoordinate point 305 resides in region 3, so the side to be adjusted isthe lower side. Since the moving amount of the X component of the movingtrajectory 307 exceeds that of the Y component, the CPU 101 determinesthat relation (3) is true. In this case, it is determined whether themoving amount of the X component exceeds that of the Y component.Instead, whether the moving width of the X component exceeds apredetermined threshold (|Xmax−Xmin|>threshold C) may be determinedregardless of the moving amount of the Y component.

Processing in step S405 is the same as that in step S404 except that theX and Y components are exchanged. If the CPU 101 determines “true” instep S405, the process advances to step S406; if it determines “false”,the process of the flowchart ends.

In step S406, the CPU 101 ends the side adjustment function (regionadjustment processing) and switches it to the function of setting a newregion. More specifically, the CPU 101 stores, in the memory 103, aswitching flag indicating that the side adjustment function has endedand is switched to the function of setting a new region.

In step S407, the CPU 101 deletes the display of the set region 302 fromthe display 110, and clears the information which has been stored in thememory 103 and specifies the range of the set region 302 (cancels theregion setting). After the end of this processing, the CPU 101 returnsto step S209 of FIG. 2 to continue the process.

FIG. 5 is a flowchart showing another example of function switchingdetermination processing in step S208 of FIG. 2. In the example of FIG.5, switching to region setting processing occurs when the movingdirection of a component perpendicular to the side to be adjusted (thatis, a moving trajectory component used in adjustment) is reversed in themoving trajectory of the current touch position by Move. In FIG. 5, thesame reference numerals as those in FIG. 4 denote the same or similarprocesses, and a description thereof will not be repeated.

In step S501, the CPU 101 acquires the current touch position. The CPU101 updates a moving amount (dX, dY) from a previously acquired(sampled) touch position to the current touch position in the movingtrajectory by Move. The CPU 101 also updates a moving amount (dX-1,dY-1) from a second previously acquired (sampled) touch position to apreviously acquired touch position. The CPU 101 stores the updatedvalues in the memory 103.

In step S502, the CPU 101 determines whether the signs of dY and dY-1are different. If the signs are different (reversed), the processadvances to step S406; if the signs are the same, ends. The meaning ofthe determination in step S502 will be described with reference to FIG.3D. In FIG. 3D, a point 312 indicates the current touch position in amoving trajectory 309 of Move. A point 311 indicates a position (touchposition in previous sampling) where the coordinate point of a previoustouch position was acquired. A point 310 indicates a position (touchposition in second previous sampling) where the coordinate point of asecond previous touch position was acquired. (dX, dY) is a moving amountfrom the point 311 to the point 312, and (dX-1, dY-1) is that from thepoint 310 to the point 311. In the example of FIG. 3D, dY-1 indicatesupward (negative Y direction) movement on the screen, and dY indicatesdownward (positive Y direction) movement on the screen. That is, themoving trajectory used in adjustment is turned back. In this case, it isconsidered that the user has ended the manipulation of moving up thelower side and does not intend to adjust the side position any more.Thus, the CPU 101 switches the function of adjusting a side to the otherfunction (that is, region setting processing). In this case, thefunction is switched immediately when the moving direction of the Ycomponent is turned back. Alternatively, it may be determined whetherthe touch position has moved by a predetermined threshold or more afterturn-back in a direction in which the moving direction has been turnedback.

Processing in step S503 is the same as that in step S502 except that theX and Y components are exchanged. If the CPU 101 determines “true” instep S503, the process advances to step S406; if it determines “false”,ends.

FIG. 6 is a flowchart showing still another example of functionswitching determination processing in step S208 of FIG. 2. In FIG. 6,the same reference numerals as those in FIGS. 4 and 5 denote the same orsimilar processes, and a description thereof will not be repeated.

Processing of FIG. 6 is a combination of processes in FIGS. 4 and 5.More specifically, switching to region setting processing occurs when amoving component parallel to the side to be adjusted becomes larger thana moving component used in adjustment of the side in the movingtrajectory of the current touch position by Move, and the movingcomponent perpendicular to the side to be adjusted is turned back. Withthis setting, it can be determined that the user has drawn an almostarcuate trajectory. It can be more accurately determined that the usertries not to adjust a side but to set a new region.

As described above, according to the embodiment, when the movingtrajectory of the touch position during Move satisfies a predeterminedcondition, switching from region adjustment processing to region settingprocessing occurs, and a new region is set. Therefore, a manipulationburden for adjusting a region set on the display screen, and amanipulation burden for setting a new region can be reduced with goodbalance.

Meanwhile, as the manipulation of adjusting a set region, theabove-described embodiment has exemplified the manipulation of adjustingthe position of the side of a set region. However, adjustment of a setregion is not limited to this, and may be movement or rotation of a setregion. It is also possible to, for example, move a set region inaccordance with Move until the trajectory of Move does not satisfy apredetermined condition after Touch Down, and when the moving trajectoryof Move satisfies it, set a new region. As another example of themanipulation of adjusting a set region, if no Move is done (no movementoccurs) for a predetermined time after Touch Down, the function switchesto rotation processing, and the rotation processing is executed inresponse to Move after a predetermined time. This manipulation may beexecuted in combination with the manipulation of adjusting a side inresponse to Move which has occurred before the lapse of thepredetermined time, like the above-described embodiment. When atouched-down position falls inside the set region 302, the position ofthe set region 302 may be moved in accordance with subsequent Move. Whena touched-down position falls outside the set region 302, the positionof a specific side may be adjusted depending on which of regions 1 to 4contains the touched-down position, as described with reference to FIG.3A. In any case, if Move satisfies a predetermined condition, the setregion is automatically deleted and a new region is created.

As for the method of determining the adjustment target of a set region,an example other than one in step S205 of FIG. 2 will be explained withreference to FIG. 7. In the display region 301, which is the entiredisplay screen of the display 110, assume that the X- and Y-coordinatesare positive in directions shown in FIG. 7 using the upper left cornerof the display region 301 as the origin. The set region 302 is displayedin the display region 301. In this case, the four sides of the setregion 302 and extensions 701 of them divide the display region 301 intoregions 1 to 4, regions A to D, and an inner region (of the set region302) shown in FIG. 7. Depending on which region contains the startcoordinate point (X0, Y0) acquired in step S202, the CPU 101 determinesa portion of the set region 302 and how to adjust the portion.

-   -   When the start coordinate point (X0, Y0) resides in, out of the        divided regions, a region (one of regions 1 to 4) which is        adjacent to the inner region via the side of the set region 302,        the side sandwiched between the region containing the start        coordinate point (X0, Y0) and the inner region is determined as        the adjustment target, and the side to be adjusted is adjusted        in accordance with subsequent Move. More specifically, the        adjustment target is the upper side when the start coordinate        point (X0, Y0) resides in region 1, the right side when it        resides in region 2, the lower side when it resides in region 3,        and the left side when it resides in region 4.    -   When the start coordinate point (X0, Y0) resides in, out of the        divided regions, a region (one of regions A to D) which is        outside the inner region and is not adjacent to it via the side        of the set region 302, the entire set region 302 is determined        as the adjustment target, and the angle of the inner region is        adjusted in accordance with subsequent Move. For example, the        set region is rotated in accordance with Move using, as the        center, the intersection point of the diagonals of the set        region 302 or the barycenter of the set region 302.    -   When the start coordinate point (X0, Y0) resides in the inner        region of the set region 302 out of the divided regions, the        entire set region 302 is determined as the adjustment target and        moved in accordance with subsequent Move.

As for adjustment of a side, rotation of a region, and movement of aregion, when the moving amount of the side position, the amount ofrotation, and the amount of region movement (these amounts will begenerically called adjustment amounts) are set equal to the amount ofMove, this implements an intuitive manipulation for the user, similar tothe example described with reference to FIG. 3B. When the adjustmentamounts are set smaller than the amount of Move, fine adjustment becomespossible even by a rough user manipulation. When the adjustment amountsare set larger than the amount of Move, large adjustment becomespossible even by a slight user manipulation. As a result, the user canquickly, reliably adjust the set region 302 by a rough manipulationwithout a fine adjustment for a larger number of adjustment items.

As described above, the PD can be not the touch panel but the mouse. Inthis case, it suffices to replace Touch Down with a click manipulationwith the mouse, Move with a manipulation (dragging) of moving the mousewhile keeping clicking it, and Touch Up with a manipulation of cancelingclicking finally after dragging. Also when another PD is used, itsuffices to replace the foregoing manipulations with ones correspondingto the PD properties.

As will be described below, the present invention can also beimplemented as a computer-readable recording medium and a programrecorded on it.

[Other Embodiment]

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (for example, computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2009-259308, filed on Nov. 12, 2009, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. A display control apparatus comprising: an inputunit configured to designate a position on a display screen; a displaycontrol unit configured to control to identifiably display a set regionset on the display screen; and a control unit configured to control to,when a trajectory of the designated position after a start ofdesignating the position by said input unit does not satisfy apredetermined condition while the set region is set on the displayscreen, change a portion occupied by the set region on the displayscreen in accordance with the trajectory, and when the trajectorysatisfies the predetermined condition, set a new set region differentfrom the set region on the display screen in accordance with thetrajectory, wherein the change includes at least one of movement of aspecific side of the set region, movement of the set region, rotation ofthe set region, enlargement of the set region, and reduction of the setregion, and wherein the predetermined condition is that a component ofthe trajectory that is parallel to the specific side moved by the changebecomes larger than a component perpendicular to the specific side. 2.The apparatus according to claim 1, wherein the specific side isspecified based on the position designated on the display screen by saidinput unit, even if a position of a side of the set region is notdesignated by said input unit.
 3. The apparatus according to claim 2,wherein the specific side is specified based on which of regionsobtained by dividing the display screen by diagonals of the set regioncontains the position designated on the display screen by said inputunit.
 4. The apparatus according to claim 2, wherein the specific sideis specified based on a position designated at the start of designatingthe position by said input unit.
 5. The apparatus according to claim 1,wherein a moving amount of movement of the specific side by the changeis smaller or larger than a moving amount of the trajectory.
 6. Theapparatus according to claim 1, wherein when the trajectory satisfiesthe predetermined condition, said control unit controls to delete theset region.
 7. The apparatus according to claim 1, wherein said controlunit sets, as the new set region, a rectangular region whichcircumscribes the trajectory.
 8. The apparatus according to claim 1,wherein said control unit sets, as the new set region, a rectangularregion whose diagonal is defined by a start point and end point of thetrajectory.
 9. The apparatus according to claim 1, further comprising aprocessing unit configured to perform, based on the set region, at leastone processing among trimming of an image, enlargement of an image, andsetting of a window.
 10. The apparatus according to claim 1, wherein theset region is a quadrangle.
 11. The apparatus according to claim 1,wherein said input unit is one of a touch panel and a mouse.
 12. Amethod of controlling a display control apparatus having an input unitconfigured to designate a position on a display screen, the methodcomprising: a display control step of controlling to identifiablydisplay a set region set on the display screen; and a control step ofcontrolling to, when a trajectory of the designated position after astart of designating the position by the input unit does not satisfy apredetermined condition while the set region is set on the displayscreen, change a portion occupied by the set region on the displayscreen in accordance with the trajectory, and when the trajectorysatisfies the predetermined condition, set a new set region differentfrom the set region on the display screen in accordance with thetrajectory, wherein the change includes at least one of movement of aspecific side of the set region, movement of the set region, rotation ofthe set region, enlargement of the set region, and reduction of the setregion, and wherein the predetermined condition is that a component ofthe trajectory that is parallel to the specific side moved by the changebecomes larger than a component perpendicular to the specific side. 13.A non-transitory computer readable storage medium recording a programfor causing a computer having an input unit configured to designate aposition on a display screen, to function as a display control unitconfigured to control to identifiably display a set region set on thedisplay screen, and a control unit configured to control to, when atrajectory of the designated position after a start of designating theposition by the input unit does not satisfy a predetermined conditionwhile the set region is set on the display screen, change a portionoccupied by the set region on the display screen in accordance with thetrajectory, and when the trajectory satisfies the predeterminedcondition, set a new set region different from the set region on thedisplay screen in accordance with the trajectory, wherein the changeincludes at least one of movement of a specific side of the set region,movement of the set region, rotation of the set region, enlargement ofthe set region, and reduction of the set region, and wherein thepredetermined condition is that a component of the trajectory that isparallel to the specific side moved by the change becomes larger than acomponent perpendicular to the specific side.
 14. A display controlapparatus comprising: an input unit configured to designate a positionon a display screen; a display control unit configured to control toidentifiably display a set region set on the display screen; and acontrol unit configured to control to, when a trajectory of thedesignated position after a start of designating the position by saidinput unit does not satisfy a predetermined condition while the setregion is set on the display screen, change a portion occupied by theset region on the display screen in accordance with the trajectory, andwhen the trajectory satisfies the predetermined condition, set a new setregion different from the set region on the display screen in accordancewith the trajectory, wherein the change includes at least one ofmovement of a specific side of the set region, movement of the setregion, rotation of the set region, enlargement of the set region, andreduction of the set region, and wherein the predetermined condition isthat a moving direction of a component of the trajectory that isperpendicular to the specific side moved by the change is reversed. 15.The apparatus according to claim 14, wherein the specific side isspecified based on the position designated on the display screen by saidinput unit, even if a position of a side of the set region is notdesignated by said input unit.
 16. The apparatus according to claim 15,wherein the specific side is specified based on which of regionsobtained by dividing the display screen by diagonals of the set regioncontains the position designated on the display screen by said inputunit.
 17. The apparatus according to claim 15, wherein the specific sideis specified based on a position designated at the start of designatingthe position by said input unit.
 18. The apparatus according to claim14, wherein a moving amount of movement of the specific side by thechange is smaller or larger than a moving amount of the trajectory. 19.The apparatus according to claim 14, wherein when the trajectorysatisfies the predetermined condition, said control unit controls todelete the set region.
 20. The apparatus according to claim 14, whereinsaid control unit sets, as the new set region, a rectangular regionwhich circumscribes the trajectory.
 21. The apparatus according to claim14, wherein said control unit sets, as the new set region, a rectangularregion whose diagonal is defined by a start point and end point of thetrajectory.
 22. The apparatus according to claim 14, further comprisinga processing unit configured to perform, based on the set region, atleast one processing among trimming of an image, enlargement of animage, and setting of a window.
 23. The apparatus according to claim 14,wherein the set region is a quadrangle.
 24. The apparatus according toclaim 14, wherein said input unit is one of a touch panel and a mouse.25. A method of controlling a display control apparatus having an inputunit configured to designate a position on a display screen, the methodcomprising: a display control step of controlling to identifiablydisplay a set region set on the display screen; and a control step ofcontrolling to, when a trajectory of the designated position after astart of designating the position by the input unit does not satisfy apredetermined condition while the set region is set on the displayscreen, change a portion occupied by the set region on the displayscreen in accordance with the trajectory, and when the trajectorysatisfies the predetermined condition, set a new set region differentfrom the set region on the display screen in accordance with thetrajectory, wherein the change includes at least one of movement of aspecific side of the set region, movement of the set region, rotation ofthe set region, enlargement of the set region, and reduction of the setregion, and wherein the predetermined condition is that a movingdirection of a component of the trajectory that is perpendicular to thespecific side moved by the change is reversed.
 26. A non-transitorycomputer readable storage medium recording a program for causing acomputer having an input unit configured to designate a position on adisplay screen, to function as a display control unit configured tocontrol to identifiably display a set region set on the display screen,and a control unit configured to control to, when a trajectory of thedesignated position after a start of designating the position by theinput unit does not satisfy a predetermined condition while the setregion is set on the display screen, change a portion occupied by theset region on the display screen in accordance with the trajectory, andwhen the trajectory satisfies the predetermined condition, set a new setregion different from the set region on the display screen in accordancewith the trajectory, wherein the change includes at least one ofmovement of a specific side of the set region, movement of the setregion, rotation of the set region, enlargement of the set region, andreduction of the set region, and wherein the predetermined condition isthat a moving direction of a component of the trajectory that isperpendicular to the specific side moved by the change is reversed. 27.A display control apparatus comprising: an input unit configured todesignate a position on a display screen; a display control unitconfigured to control to identifiably display a set region set on thedisplay screen; and a control unit configured to control to, when atrajectory of the designated position after a start of designating theposition by said input unit does not satisfy a predetermined conditionwhile the set region is set on the display screen, change a portionoccupied by the set region on the display screen in accordance with thetrajectory, and when the trajectory satisfies the predeterminedcondition, set a new set region different from the set region on thedisplay screen in accordance with the trajectory, wherein the changeincludes at least one of movement of a specific side of the set region,movement of the set region, rotation of the set region, enlargement ofthe set region, and reduction of the set region, and wherein thepredetermined condition is that a component of the trajectory that isparallel to the specific side moved by the change becomes larger than acomponent perpendicular to the specific side, and a moving direction ofthe component of the trajectory that is perpendicular to the specificside moved by the change is reversed.
 28. The apparatus according toclaim 27, wherein the specific side is specified based on the positiondesignated on the display screen by said input unit, even if a positionof a side of the set region is not designated by said input unit. 29.The apparatus according to claim 28, wherein the specific side isspecified based on which of regions obtained by dividing the displayscreen by diagonals of the set region contains the position designatedon the display screen by said input unit.
 30. The apparatus according toclaim 28, wherein the specific side is specified based on a positiondesignated at the start of designating the position by said input unit.31. The apparatus according to claim 27, wherein a moving amount ofmovement of the specific side by the change is smaller or larger than amoving amount of the trajectory.
 32. The apparatus according to claim27, wherein when the trajectory satisfies the predetermined condition,said control unit controls to delete the set region.
 33. The apparatusaccording to claim 27, wherein said control unit sets, as the new setregion, a rectangular region which circumscribes the trajectory.
 34. Theapparatus according to claim 27, wherein said control unit sets, as thenew set region, a rectangular region whose diagonal is defined by astart point and end point of the trajectory.
 35. The apparatus accordingto claim 27, further comprising a processing unit configured to perform,based on the set region, at least one processing among trimming of animage, enlargement of an image, and setting of a window.
 36. Theapparatus according to claim 27, wherein the set region is a quadrangle.37. The apparatus according to claim 27, wherein said input unit is oneof a touch panel and a mouse.
 38. A method of controlling a displaycontrol apparatus having an input unit configured to designate aposition on a display screen, the method comprising: a display controlstep of controlling to identifiably display a set region set on thedisplay screen; and a control step of controlling to, when a trajectoryof the designated position after a start of designating the position bythe input unit does not satisfy a predetermined condition while the setregion is set on the display screen, change a portion occupied by theset region on the display screen in accordance with the trajectory, andwhen the trajectory satisfies the predetermined condition, set a new setregion different from the set region on the display screen in accordancewith the trajectory, wherein the change includes at least one ofmovement of a specific side of the set region, movement of the setregion, rotation of the set region, enlargement of the set region, andreduction of the set region, and wherein the predetermined condition isthat a component of the trajectory that is parallel to the specific sidemoved by the change becomes larger than a component perpendicular to thespecific side, and a moving direction of the component of the trajectorythat is perpendicular to the specific side moved by the change isreversed.
 39. A non-transitory computer readable storage mediumrecording a program for causing a computer having an input unitconfigured to designate a position on a display screen, to function as adisplay control unit configured to control to identifiably display a setregion set on the display screen, and a control unit configured tocontrol to, when a trajectory of the designated position after a startof designating the position by the input unit does not satisfy apredetermined condition while the set region is set on the displayscreen, change a portion occupied by the set region on the displayscreen in accordance with the trajectory, and when the trajectorysatisfies the predetermined condition, set a new set region differentfrom the set region on the display screen in accordance with thetrajectory, wherein the change includes at least one of movement of aspecific side of the set region, movement of the set region, rotation ofthe set region, enlargement of the set region, and reduction of the setregion, and wherein the predetermined condition is that a component ofthe trajectory that is parallel to the specific side moved by the changebecomes larger than a component perpendicular to the specific side, anda moving direction of the component of the trajectory that isperpendicular to the specific side moved by the change is reversed.